package ar.edu.valetinis.modulo1.modelo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @author Nestor Valentinis
 * 
 * */
public class Pedido {
	
	private Long nroPedido;
	private Date fechaCreacion;
	private Date fechaEstimadaEntrega;
	private Date fechaEntregaReal;
	private Date fechaConfirmacionPedido;
	private List<PedidoDetalle> pedidoDetalle = new ArrayList<PedidoDetalle>();
	private Proveedor proveedor;
	private OrdenDeCompra orden;
	
	//constructor
	
	public Pedido() {		
	}

	//acciones
	
	public void addItemToDetalle(PedidoDetalle item) {
		this.pedidoDetalle.add(item);
	}
	
	@Override
	public boolean equals(Object obj) {
		
		Pedido p = (Pedido) obj;
		
		if(p != null && p.getNroPedido().equals(this.nroPedido) ) {
			
			return Boolean.TRUE;
		}
			
		return Boolean.FALSE;
		
	}
	
	//getter & setter
	
	public Date getFechaEstimadaEntrega() {
		return fechaEstimadaEntrega;
	}

	public void setFechaEstimadaEntrega(Date fechaEstimadaEntrega) {
		this.fechaEstimadaEntrega = fechaEstimadaEntrega;
	}

	public Date getFechaEntregaReal() {
		return fechaEntregaReal;
	}

	public void setFechaEntregaReal(Date fechaEntregaReal) {
		this.fechaEntregaReal = fechaEntregaReal;
	}

	public Date getFechaConfirmacionPedido() {
		return fechaConfirmacionPedido;
	}

	public void setFechaConfirmacionPedido(Date fechaConfirmacionPedido) {
		this.fechaConfirmacionPedido = fechaConfirmacionPedido;
	}

	public List<PedidoDetalle> getPedidoDetalle() {
		return pedidoDetalle;
	}

	public void setPedidoDetalle(List<PedidoDetalle> pedidoDetalle) {
		this.pedidoDetalle = pedidoDetalle;
	}

	public Proveedor getProveedor() {
		return proveedor;
	}

	public void setProveedor(Proveedor proveedor) {
		this.proveedor = proveedor;
	}

	public void setFechaCreacion(Date fechaCreacion) {
		this.fechaCreacion = fechaCreacion;
	}

	public Date getFechaCreacion() {
		return fechaCreacion;
	}
	
	public void setNroPedido(Long nroPedido) {
		this.nroPedido = nroPedido;
	}

	public Long getNroPedido() {
		return nroPedido;
	}

	public void setOrden(OrdenDeCompra orden) {
		this.orden = orden;
	}

	public OrdenDeCompra getOrden() {
		return orden;
	}
	
}
